package lab.gene.pojo;

import java.io.Serializable;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import lab.user.pojo.User;

@Entity
@Table(name = "genomic_prep_intr")
public class GenePrepIntermediates implements Serializable{

	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue
	@Column(name="id")
	private int id;
	
	@ManyToOne(targetEntity = User.class)
    @JoinColumn(name = "username")
	private User user;
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	
	@ManyToOne(targetEntity = Gene.class)
    @JoinColumn(name = "genename")
	private Gene gene;
	public Gene getGene() {
		return gene;
	}
	public void setGene(Gene gene) {
		this.gene = gene;
	}
	
	@Column(name="gp_type")
	private String type;
	@Column(name="expected_size_x1")
	private int x1;
	@Column(name="expected_size_x2")
	private int x2;
	@Column(name="expected_size_y1")
	private int y1;
	@Column(name="expected_size_y2")
	private int y2;
	@Column(name="expected_size_z1")
	private int z1;
	@Column(name="expected_size_z2")
	private int z2;
	@Column(name="pcr_x1")
	private String pcrX1;
	@Column(name="pcr_y1")
	private String pcrY1;
	@Column(name="pcr_z1")
	private String pcrZ1;
	@Column(name="pcr_x2")
	private String pcrX2;
	@Column(name="pcr_y2")
	private String pcrY2;
	@Column(name="pcr_z2")
	private String pcrZ2;
	@Temporal(TemporalType.DATE)
	@Column(name="record_date1")
	private Date date1;
	@Temporal(TemporalType.DATE)
	@Column(name="record_date2")
	private Date date2;
	@Column(name="checked")
	private String checked;
	@Column(name="repeat_checked")
	private String repeatChecked;

	@Column(name="date_modified")
	private Date dateModified;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}

	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getX1() {
		return x1;
	}
	public void setX1(int x1) {
		this.x1 = x1;
	}
	public int getX2() {
		return x2;
	}
	public void setX2(int x2) {
		this.x2 = x2;
	}
	public int getY1() {
		return y1;
	}
	public void setY1(int y1) {
		this.y1 = y1;
	}
	public int getY2() {
		return y2;
	}
	public void setY2(int y2) {
		this.y2 = y2;
	}
	public int getZ1() {
		return z1;
	}
	public void setZ1(int z1) {
		this.z1 = z1;
	}
	public int getZ2() {
		return z2;
	}
	public void setZ2(int z2) {
		this.z2 = z2;
	}
	
	public String getPcrX1() {
		return pcrX1;
	}
	public void setPcrX1(String pcrX1) {
		this.pcrX1 = pcrX1;
	}
	public String getPcrY1() {
		return pcrY1;
	}
	public void setPcrY1(String pcrY1) {
		this.pcrY1 = pcrY1;
	}
	public String getPcrZ1() {
		return pcrZ1;
	}
	public void setPcrZ1(String pcrZ1) {
		this.pcrZ1 = pcrZ1;
	}
	public String getPcrX2() {
		return pcrX2;
	}
	public void setPcrX2(String pcrX2) {
		this.pcrX2 = pcrX2;
	}
	public String getPcrY2() {
		return pcrY2;
	}
	public void setPcrY2(String pcrY2) {
		this.pcrY2 = pcrY2;
	}
	public String getPcrZ2() {
		return pcrZ2;
	}
	public void setPcrZ2(String pcrZ2) {
		this.pcrZ2 = pcrZ2;
	}
	public Date getDate1() {
		return date1;
	}
	public void setDate1(Date date1) {
		this.date1 = date1;
	}
	public Date getDate2() {
		return date2;
	}
	public void setDate2(Date date2) {
		this.date2 = date2;
	}
	public String getChecked() {
		return checked;
	}
	public void setChecked(String checked) {
		this.checked = checked;
	}
	public String getRepeatChecked() {
		return repeatChecked;
	}
	public void setRepeatChecked(String repeatChecked) {
		this.repeatChecked = repeatChecked;
	}

	public Date getDateModified() {
		return dateModified;
	}
	public void setDateModified(Date dateModified) {
		this.dateModified = dateModified;
	}

}
